1. Field of the Invention
The present invention relates to a computer network configured to define and update a shared computer-generated environment.
2. Description of the Related Art
Computer based multi-player networked games are known and the emergence of the Internet as a popular medium for recreation has resulted in many games-oriented services being provided. In a typical situation, a user visits a site that provides access to a game. It is possible then for the user to choose from several different instantiations of the game, each of which has several players interacting over the Internet. This approach minimises difficulties of implementing multi-user network games, in that the total number of players in each instantiation of the game is kept to a minimum, such as eight.
In a computer game, moving objects have the potential to interact with most other objects in the computer-generated game environment. This requires a large number of comparisons to be performed between objects. All these comparisons must be performed to generate a single update of the game, and several updates of the game must be performed each second, in order to create a convincing illusion of smooth interaction and motion. When sufficiently large numbers of moving objects are present, the number of comparisons quickly becomes overwhelming, and this places a limit on the number of interacting moving objects in any computer-generated environment. There is a trade-off between the number of objects and the speed with which the environment may be updated, due to the need for communication between objects. In a gaming environment, speed is of great importance.
Multi-player games, and other types of shared multi-user simulations, thus suffer from a highly restricted maximum number of users. The Internet itself, and current server technology, has the capability to communicate between thousands and perhaps hundreds of thousands of individual computer users at the same time. The present state of the art in multi-user games, however, is unable to take advantage of this possibility. This restriction applies generally to computer-generated environments where multiple interacting users communicate over a network.
According to a first aspect of the present invention, there is provided a computer network configured to define and update a shared computer-generated environment, comprising a serving computer configured to divide a computer-generated environment into a plurality of cells; and a plurality of user-generated terminals having display means, storage means, processing means and network connection means, wherein a first user-computer-terminal defines an entry in said computer-generated environment in one cell or in a plurality of adjoining cells; said network connection receives notification data about other users sharing cells occupied by said first user; said storage means stores a list of users that share or have shared cells occupied by said first user; and said processing means generates a message for another user identified in said list and generates a local representation of said environment in response to data received from other users and in response to other user movements.
In a preferred embodiment, the processing means is configured to predict movements by position history based dead reckoning and a message may be generated in response to an unpredicted user movement.
According to a second aspect of the present invention, there is provided a method of updating a computer-generated environment shared between users connected via computer terminals connected to a network, said computer-generated environment being divided into cells, wherein a user""s computer terminal performs the steps of receiving notification of other users sharing the same cell or cells; updating a list of users that share or have shared the same cell; generating a message for at least one user in said list; updating an environment generated on the computer terminal in response to other user data; and updating said list in response to user movements.